/** 公共弹窗组件 */
//最小高度 188 最大高度60vh 暂定TODO

import {PropType} from 'vue'
//关闭前回调
export type BeforeClose=(done: () => void)=>void

const defaultBeforeClose:BeforeClose = (done: () => void) => {
  done()
}

export const DialogProps = {
  //显示抽屉
  showDialog:{
    type:Boolean,
    required:true
  },
  //弹窗标题
  title:{
    type:String,
    required:true
  },
  //关闭前回调
  beforeClose:{
    type:Function as PropType<BeforeClose>,
    default:defaultBeforeClose
  },
  //自定义样式类
  customClass:{
    type:String
  },
  //显示保存
  hideSaveBtn:{
    type:Boolean,
    default:false
  },
  //显示保存加载状态
  showSaveLoading:{
    type:Boolean,
    default:false
  },
  //按钮文字
  btntext:{
    type:String,
    default:'保存'
  },
  //取消按钮文字
  cancelText:{
    type:String,
    default:'取消'
  },
  buttonAlign:{
    type:String,
    default:''
  }
}

export const DialogEmits = ['cancel', 'confirm', 'open', 'close']